home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-09-07 | 3.4 KB | 177 lines | [TEXT/CWIE] |
- // COPYRIGHT 1994 A.D. Software, All rights reserved
-
- // public layer of OOFILE database
- // implementing relations
-
- // inline definitions
-
-
-
- // -------------------------------------------------------
- // d b R e l a t i o n
- // -------------------------------------------------------
- inline dbRelationship& dbRelationship::tables(dbTable& lhs, dbTable& rhs)
- {
- return tables(&lhs, &rhs);
- }
-
-
- inline dbRelationship& dbRelationship::joinFields(dbField& lhs, dbField& rhs)
- {
- return joinFields(&lhs, &rhs);
- }
-
-
- inline void dbRelationship::lhs(dbTable& tbl, dbRelRefBase& linkFld, const char* str)
- {
- lhs(&tbl, linkFld, str);
- }
-
-
- inline void dbRelationship::rhs(dbTable& tbl, dbRelRefBase& linkFld, const char* str)
- {
- rhs(&tbl, linkFld, str);
- }
-
-
- inline void dbRelationship::lhs(dbField& joinField, dbRelRefBase& linkFld, const char* str)
- {
- lhs(&joinField, linkFld, str);
- }
-
-
- inline void dbRelationship::rhs(dbField& joinField, dbRelRefBase& linkFld, const char* str)
- {
- rhs(&joinField, linkFld, str);
- }
-
-
- // -------------------------------------------------------
- // d b R e l H a l f
- // -------------------------------------------------------
- inline dbTable* dbRelHalf::relatesToTable() const
- {
- return mInverseTable;
- }
-
-
- inline bool dbRelHalf::rhsbackendIsThisTable(const OOF_tableBackend* targetBack) const
- {
- return mTable->pointsToBackend(targetBack);
- }
-
-
- inline void dbRelHalf::refreshContext(dbTable* clonedTargetTable)
- {
- if (mJoinField)
- clonedTargetTable->loadRelatedContextJoiningFromTo(mJoinField, mJoinToField);
- else
- ; // NOT YET IMPLEMENTED - OID join
- }
-
-
- inline dbRelChain* dbRelHalf::askTableToBuildValidChain(dbRelChain* candidateChain)
- {
- return mTable->buildRelChain(candidateChain);
- }
-
-
-
-
- // -------------------------------------------------------
- // d b R e l R e f B a s e
- // -------------------------------------------------------
- inline void dbRelRefBase::LogTransition()
- {
- appendRelationLink(mThisLinkRelHalf);
- }
-
-
- inline dbTable* dbRelRefBase::RefersToTable()
- {
- return mThisLinkRelHalf->relatesToTable();
- }
-
-
- inline void dbRelRefBase::SetRelHalfByWhichWeNavigate(dbRelHalf* ref )
- {
- assert(mThisLinkRelHalf==0);
- mThisLinkRelHalf = ref;
- }
-
-
- inline void dbRelRefBase::newRecord()
- {
- if (!mRelationChain)
- BuildRelChainToTable();
- mRelationChain->newRecord();
- }
-
-
- inline void dbRelRefBase::start()
- {
- if (!mRelationChain)
- BuildRelChainToTable();
- mRelationChain->startRelated();
- }
-
-
- inline bool dbRelRefBase::more()
- {
- if (!mRelationChain)
- BuildRelChainToTable();
- return mRelationChain->moreRelated();
- }
-
-
- inline void dbRelRefBase::next()
- {
- if (!mRelationChain)
- BuildRelChainToTable();
- mRelationChain->nextRelated();
- }
-
-
- inline unsigned long dbRelRefBase::count()
- {
- if (!mRelationChain)
- BuildRelChainToTable();
- return mRelationChain->countRelated();
- }
-
-
-
-
- // -------------------------------------------------------
- // d b R e l C h a i n
- // -------------------------------------------------------
- inline bool dbRelChain::isStillJustACandidate()
- {
- return (mTablesList==0);
- }
-
-
- inline void dbRelChain::baseContextHasChanged()
- {
- mContextValid = false;
- }
-
-
- inline dbTable* dbRelChain::getFinalTable()
- {
- return mFinalTable;
- }
-
-
-
- // -------------------------------------------------------
- // O O F _ r e l C h a i n L i s t
- // -------------------------------------------------------
- inline void OOF_relChainList::append(const dbRelChain* chainPtr)
- {
- OOF_ExpandableLongArray::append((unsigned long) chainPtr);
- }
-
-
-
-